{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.layers import Conv1D, Input, Activation\n",
    "from keras.models import Model\n",
    "import scipy.signal as sp\n",
    "import numpy as np\n",
    "import tables\n",
    "from scipy.io import wavfile\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(61, 1, 1)\n"
     ]
    }
   ],
   "source": [
    "coeff_path='/media/taufiq/Data1/heart_sound/heartnetTransfer/filterbankcoeff60.mat'\n",
    "signal_path='/media/taufiq/Data1/Heart_Sound/Physionet/training/training-a/a0001.wav'\n",
    "coeff=tables.open_file(coeff_path)\n",
    "b1=coeff.root.b2[:]\n",
    "b1=np.hstack(b1)\n",
    "b1=np.reshape(b1,[b1.shape[0],1,1])\n",
    "print b1.shape\n",
    "fs,data=wavfile.read(signal_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "filtered=sp.filtfilt(b1[:,0,0],[1],data[:2500])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nk4eZmQ3t/5qjcl6tCbKeAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f921a807e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(data[:2500],label='Raw data')\n",
    "plt.plot(filtered,label='After FIR1(zero phase)')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "def FIRnet_w_act(input_size):\n",
    "    input1=Input(shape=(input_size,1))\n",
    "    x = Conv1D(1,61,use_bias=False,weights=[b1],padding='same') (input1)\n",
    "    x = Activation(activation='relu') (x)\n",
    "    model =Model(input1,x)\n",
    "    model.compile(optimizer='rmsprop',\n",
    "                  loss='binary_crossentropy',\n",
    "                  metrics=['accuracy'])    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def FIRnet(input_size):\n",
    "    input1=Input(shape=(input_size,1))\n",
    "    x = Conv1D(1,61,use_bias=False, weights=[b1])(input1)\n",
    "    model =Model(input1,x)\n",
    "    model.compile(optimizer='rmsprop',\n",
    "                  loss='binary_crossentropy',\n",
    "                  metrics=['accuracy'])    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = FIRnet(2500)\n",
    "t = np.reshape(data[:2500],[1,2500,1])\n",
    "new_data_ = model.predict(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = FIRnet_w_act(2500)\n",
    "t = np.reshape(data[:2500],[1,2500,1])\n",
    "new_data = model.predict(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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h6lqKBwlg1mAr0fQrcBMv/QRdq+is4F0uzrpO+BiEWlgNxxfbKdFpKlTpzJs2DAAhg0bxtSpU8tcJjMzk8WLF3PDDTfQq1cv7r77bnbv3l0w/YYbbnCsBpk7dy533313QdVRw4YN2bx5M/Hx8XTs2BGAW2+9lQULFhQsc+211wLQt29fkpOTAbjpppv45JNPAJg2bRo33XRTiW0NHDiQBQsWsGDBAu655x7WrVtHamoqDRo0oFatWmXu4zXXXIPL5aJLly4lSh3+HnzwQS644AKuvPJKli5dysaNG+nfvz+9evVi8uTJ7NhROM6WL5/p6ekcPnyYc88913Gf/d144424XC46dOhAu3bt2LRpE3l5edx11110796dG264oaAtZ8GCBQwfPhy3202LFi244IILytxPcP6M+/fvz8MPP8wbb7zB4cOHS1T3LViwgJtvvhmwAluPHj0AyvwMnHjsaiKXS3sZqYoLqmQgIlOxruobi0gKVq+gfwKfisgdwA7gRnv22cBlQBKQBdwOYIxJE5HngBX2fM8aY4o3SgetrCv44yEtLY358+ezbt06RASPx4OI8PLLLwfs/uf1eqlfv35BqaG48pxsyys2NhYAt9tNfn4+AP369SMpKYn9+/czY8YMnnrqqRLLDRo0iLfffpudO3fywgsvMH36dD7//HMGDhwY1HbBqn5xMmnSJHbs2MFbb71VMN/gwYNLDagV+VyKfw8iwmuvvUazZs1Ys2YNXq+3xFV7sJw+48cff5zLL7+c2bNn079/f7777rtybaesz8CJLxhoj1MVimB7Ew03xjQ3xkQbY1oZY94zxhw0xlxojOlgjLnId2K3exH9yRjT3hjT3Riz0m89E40xp9mv98O9UyfK559/zi233MKOHTtITk5m165dxMfHF9Sb+6tTpw4ZGRkA1K1bl/j4eD777DPAOgGsWbOmzO0NHjyY//znPwUnnLS0NDp16kRycjJJSUkAfPDBBwVXzKUREYYOHcrDDz9M586dadSoUYl5WrduzYEDB9iyZQvt2rVjwIABjBs3jkGDBgXct/JatWoV48aN48MPP8Tlsg7Ds88+m59//rlgX44ePcpvv/1WYtl69erRoEGDgs850D5/9tlneL1etm7dyrZt2+jUqRPp6ek0b94cl8vFBx98gMfjAawA+Mknn+DxeNi9ezc//PBDUPvk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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f56207ac3d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.plot(new_data[0,:,0],label='After conv')\n",
    "plt.plot(new_data[0,:,0],label='After conv with zero pad inside')\n",
    "plt.plot(filtered,label='After FIR')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f921a68a750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.plot(new_data[0,:,0],label='After conv')\n",
    "plt.plot(np.pad(new_data_[0,:,0],(30,30),'constant',constant_values=(30, 30)),label='After conv with zero pad')\n",
    "plt.plot(filtered,label='After FIR1 (zero phase)')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Implementing gammatone inside conv layer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras import backend as K\n",
    "from keras.engine.topology import Layer\n",
    "from keras.engine.topology import InputSpec\n",
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "from keras.utils import conv_utils\n",
    "from keras.layers import activations, initializers, regularizers, constraints"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ8AAAEACAYAAABs0nsCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFNXZ9/HvzeZCEFkUBWRxwX0BFHCL40IAY0CfvFE0\nBjA8iruJJorJ8wZ4jEk0GjdU1GiEuKDRqKgooDCvGAVBQFRACAaEQVBZFVAR7vePUwNl27N2T1f3\nzO9zXXVN9+mqU3fPdvc5dc4pc3dERERyqV7SAYiISN2j5CMiIjmn5CMiIjmn5CMiIjmn5CMiIjmn\n5CMiIjmXleRjZr3NbIGZLTSz69K83sjMxprZIjN708zaxV67Piqfb2Y/qKhOM+tgZtOi8sfNrEFU\nfqKZvW1mW8zsv1LOPzDa/wMzG5CN9ywiItWXcfIxs3rASKAXcChwrpkdlLLbYGCNux8A3A7cHB17\nCHA2cDDQB7jHgvLqvAm41d07AeuiugGWAgOBR1Piawb8DjgG6A4MM7Ommb5vERGpvmy0fLoBi9x9\nqbtvAcYC/VL26QeMjh4/BZwSPe4LjHX3b9x9CbAoqq+8Ok8Bno4ejwbOAnD3j9z9PSB11mwvYKK7\nr3f3dcBEoHeG71lERDKQjeTTBlgWe748Kku7j7tvBdabWfM0x5ZEZWnrNLMWwFp33xYrb13F+ErP\nISIiCUlqwIEldKyIiOSBBlmoowRoF3veNiqLWw7sA6wws/rAbu6+xsxKovLUYy1dne6+2sx2N7N6\nUesn3bnSxVeUUteUdDuamRa6ExGpBnevUsMgGy2fGcD+ZtbezBoB/YFxKfs8TxgMAPATYHL0eBzQ\nPxoN1xHYH3irjDqfi46ZHNVBVGdpeVz8mzAB6GlmTaPBBz2jsrTcPe+3YcOGJR5DbYmzEGJUnIoz\n37fqyDj5eLiGcznhQv77hAEE881shJmdEe32INDSzBYBvwCGRsfOA54E5gHjgUs9SFfngqiuocDV\nZrYQaB7VjZkdbWbLgP8DjDKzd6NzrAVuAGYC04ERHgYeiIhIQrLR7Ya7vwwcmFI2LPb4K8KQ6nTH\n/hH4Y2XqjMr/QxgynVo+k2934cVfexh4uJy3ICIiOaQVDgpQUVFR0iFUSiHEWQgxguLMNsWZPKtu\nf11tZGau74eISNWYGZ7AgAMREZEqUfIREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGc\nU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IR\nEZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/IREZGcU/LJE198AQ88ANdcA6tXJx2NiEjNUvJJ\n2Ny5cNll0K4djB8PmzbBEUfACy8kHZmISM1R8knQH/8IvXvDHnuEJPTMM3DvvfDYY3DllTB4MGzY\nkHSUIiLZZ+6edAx5w8w8V9+P116Dc86Bt9+G1q2/+/rnn8Ovfw2TJsGsWdC0aU7CEhGpMjPD3a0q\nx2Sl5WNmvc1sgZktNLPr0rzeyMzGmtkiM3vTzNrFXrs+Kp9vZj+oqE4z62Bm06Lyx82sQXnnMLP2\nZrbJzGZF2z3ZeM+Z+Owz+OlP4aGH0icegCZNYNQoKCqCP/whp+GJiNS4jFs+ZlYPWAicCqwAZgD9\n3X1BbJ9LgMPd/VIzOwc4y937m9khwKPAMUBb4BXgAMDKqtPMngCecvd/mNm9wBx3v6+cc7QHnnf3\nIyrxXmq85eMOffvCQQfBn/9c8f4rVsDhh8PMmdCxY42GJiJSLUm1fLoBi9x9qbtvAcYC/VL26QeM\njh4/BZwSPe4LjHX3b9x9CbAoqq+8Ok8Bno4ejwbOLOMcp8bOX6VvSk26/Xb45BO48cbK7d+6Nfzi\nFzB0aM3GJSKSS9lIPm2AZbHny6OytPu4+1ZgvZk1T3NsSVSWtk4zawGsdfdtac6Veo510TkAOpjZ\n22Y2xcxOqPY7zdDMmWGQweOPQ6NGlT/ummvgzTfhjTdqLjYRkVxKarRbJi2Ryh5but/HQDt37wpc\nAzxmZt/L4PzV4g5XXAG33AL77lu1Y3fdNVz3+eUvYdu2ivcXEcl3DbJQRwnQLva8bVQWtxzYB1hh\nZvWB3dx9jZmVROWpx1q6Ot19tZntbmb1otZP/FyldX3rHNFrXwO4+ywzWwx0AmalezPDhw/f/rio\nqIiioqKKvwOV8OqrsG5dGGhQHeedB3fcAU88Aeeem5WQRESqpbi4mOLi4ozqyMaAg/rAB4RrLB8D\nbwHnuvv82D6XAodFgwH6A2emDDjoTug2m0QYcFAvTZ3xAQf/dPcnogEH77j7qHLO0RJY4+7bzGxf\n4P8RBiasS/NeamTAgTt8//tw8cXVTz4AU6fC+efDggWwyy7Zi09EJBOJDDiIrq9cDkwE3icMIJhv\nZiPM7IxotweBlma2CPgFMDQ6dh7wJDAPGA9c6kG6OktHzw0FrjazhUDzqO4yzwF8H5hrZrOicw1J\nl3hqUnFxGGTQv39m9Zx4Yhgl98wzWQlLRCQxmmQaU1Mtn5NPhgsugAEDMq/rscfg73+Hl17KvC4R\nkWyoTstHySemJpLPa6/Bz38eusoaZOEK26ZN0KZNqK9Vq8zrExHJVGIrHEjZ/vd/4Te/yU7igTDy\nrW/fMFxbRKRQKfnUoH/9CxYvhp/9LLv1/uxnoetNRKRQKfnUoBtvhOuvh4YNs1vvySfDypUwb152\n6xURyRUlnxqyYEFYjXrgwOzXXb9+mPfzyCPZr1tEJBeUfGrIXXfBRRfBTjvVTP3nnw+PPqoVD0Sk\nMCn51IB168KQ6EsuqblzHHlkuMfP1Kk1dw4RkZqi5FMDHnoITj8d9t67Zs+jgQciUqg0zycmG/N8\ntm6FAw6AsWOhW7csBVaG5cvhiCPCPX923rlmzyUiUhbN88kDzz8fJn/WdOIBaNsWOneGF1+s+XOJ\niGSTkk+W3XknXHll7s7Xrx+MH5+784mIZIO63WIy7XabOxf69IElS7I/t6csCxfCKafAsmVgeXO/\nVhGpS9TtlrC77goj3HKVeCBcX2rUCN5/P3fnFBHJVJZWHJNPPoGnnw6TS3PJDHr3hpdfhsMOy+25\nRUSqSy2fLLnrLjjnHNhzz9yfuzT5iIgUCl3zianuNZ8vvoCOHWHaNNhvvxoIrAKffw6tW4f13ho3\nzv35RaRu0zWfhDzwQLjon0TiAWjSBI4+OtwxVUSkECj5ZOjrr+Evf4Frr002DnW9iUghUfLJ0Nix\ncOCB0LVrsnEo+YhIIVHyycC2bXDzzXDddUlHEpbZ+eKLcPM6EZF8p+STgfHjwxyb005LOpIw5LpX\nL5gwIelIJN+4w6ZN8OWX4bFIPtA8nwzcfHO41pMvKwv07h1u5XDppUlHIrn05ZcwfTrMnx9WvFi4\nEBYtgrVrYeNG2Lw5fEhyDwvfNm4M3/seNG8e1gds1w722Qfat4eDD4aDDgqvi9QkDbWOqcpQ65df\nhiuuCH/wDfIkha9eDfvuC59+Gv7ZSO31wQfhd3DCBHj99ZA0jjwyrHjRqVP42rIl7Lor7LJLuPst\nhAEyGzeG7bPPwsroy5aFbcmS8Pv8wQewxx5wyCFh4dquXaFLF+jQIX8+aEl+qc5QayWfmMomn40b\nw2oC990HP/hBDgKrgh494I9/hJNPTjoSybYtW8IqGnfdFRLF6aeH379TTw2tmGzZujXU/957MHs2\nvP12uCX85s1htfYePcLWvTs0a5a980rhUvLJUGWTz7XXQklJuI11vhk2DL76Cv70p6QjkWxZtw5G\njoR77w0tmiuvhL59c9/i/vhjeOutMJl62jSYOTN01x13HBx/fPjaqZNaR3WRkk+GKpN85swJnzbf\ney+ZpXQqUlwM118Pb76ZdCSSqW3bwp1qhw4Ng0muvjqMaswX33wD774Lb7wRtn/9K4y4LE1Gxx8f\nJj/rRoe1n5JPhipKPlu3wrHHwpAhMHhwDgOrgs2bQ3/9qlVaaqeQvfMOXHZZaMXecw8cc0zSEVVO\nSUlIQqXb/Plw+OHh76Z0a9tWraPaRsknQxUln7vugqeeCq2LfP7jOeEEGDEiXAuQwrJ1KwwfDvff\nDzfcED7klA4WKEQbN4buuTff3LE1aBCuHXXvHr526aJrR4VOySdD5SWfxYvDH8vrr4ehqPnsN78J\n9xQaMSLpSKQq1qyB884LrZ0nnsjPbt1MucPSpeHa0fTp4eucOeG9dukStqOOCt2LrVvn94c82SGx\nhUXNrLeZLTCzhWb2nfn+ZtbIzMaa2SIze9PM2sVeuz4qn29mP6ioTjPrYGbTovLHzaxBdc9RWa++\nGvqv//CH/E88AN//Prz2WtJRSFW8807oWjv0UJg0qXYmHgjJpEMHOPtsuPVWmDo1DKh48UU466ww\n/PsvfwlDvFu2DKM2L78c7r4bJk+GFSs0Uba2yLjlY2b1gIXAqcAKYAbQ390XxPa5BDjc3S81s3OA\ns9y9v5kdAjwKHAO0BV4BDgCsrDrN7AngKXf/h5ndC8xx9/uqeo50TZzUlo873HZbmEz62GNh5epC\nsGFD+NS4ejXstFPS0UhF/vGPMDH4zjvh3HOTjiZ/rFoVbk3//vvh2lHp9tVXsP/+O7b99gsTZNu3\nD6PvNMAh96rT8snGYM1uwCJ3XxoFMRboB8Tv6dkPGBY9fgq4K3rcFxjr7t8AS8xsUVSflVPnKUDp\nn+joqN77qnGO6eW9qfXrwz+E+fND90D79lX4jiRst91CC23GjHD9R/LXY4/Br34VWjtHHZV0NPml\nVSvo2TNscWvWhG7wf/87bFOnwiOPhO68kpIw56lNm/ABrHRr1Sq0JvfYI3xt2RKaNi3s62mFLhvJ\npw2wLPZ8OeGfe9p93H2rma03s+ZReXxQcElUZunqNLMWwFp33xYrb1PNc6R10klhaZJ166B//zBi\nZ5ddyv8G5KPSrjcln/wVTzyHHpp0NIWjefOwpRsBuHVruKniihU7tpKSMFH2k092bKtXh5swNmkS\nBjvsvnv40Fa6NWkSRos2bhxWiWjcOLSo4lujRuHaaunXhg1DMmvQIHwt3erVC5vZjg12fC3tbHEv\ne9u27btfK7Nt3Vr5fdPVHX9e+rhBAxg4MPOfY1ILw2RyGbGyx1brHO3bD6dLl/ALePLJReyyS1F1\nqknc978Po0aFwQeSfx5/HK65Rokn2+rXD62eNmV+vNxh69bQw7F2bdg+/zx0WZdumzbtWIboo4/C\nGnpffhm6/TZvDitOfP31jq/ffBO2rVt3fE33zx12JJXURBRPUKVbPHGVJrJ4QktNcPHn9eqV/3r8\nefxc9et/+3m8vl13hfbtiynO8O6V2Ug+JUC72PO2UVnccmAfYIWZ1Qd2c/c1ZlYSlacea+nqdPfV\nZra7mdWLWj/xc5XWVdlzpDVmzPDKvOe8d8IJMGBA+CPIl7XnJHjiiTBhdNKksEyTJKN+/R2tKKmq\nIoqKirY/G1GNobXZGO02A9jfzNqbWSOgPzAuZZ/ngdKG2k+AydHjcUD/aKRaR2B/4K0y6nwuOmZy\nVAdRnc/F6qrKOWq1li3DasVz5iQdicRNnRoWpJ04UYlH6raMPxNH11cuByYSktmD7j7fzEYAM9z9\nBeBB4O/Rxf7VhGSCu88zsyeBecAW4NJouFm6OksHMAwFxprZDcDsqG6qcY5ar/S6z9FHJx2JQOi6\nOeccGDMmzPoXqcs0yTSmKrdUKARjx4bt2WeTjkQ2bQpdoeedFwYZiNQmWuEgQ7Ut+ZSUhJnin34a\nLhRKMtzD/J2GDUOrR7P2pbZJbIUDyU9t2oRhpO+/n3Qkdduf/hTmpdx/vxKPSCkln1pOS+0ka+rU\nsHLBs88W5nwxkZqi5FPLKfkk5/PPw2S8++6r3LwTkbpE13xiats1HwjLj5x0Eixfri6fXLvoojDR\n8MEHK95XpJAltbab5LH99gszsJctC/N+JDfGjw9zeebOTToSkfykbrdazizc1viNN5KOpO5YvRou\nvBAefjgs0yQi36XkUwco+eSOO1xySZhMGlt9RERSKPnUAccdF25fLDXv2WdDV9uNNyYdiUh+04CD\nmNo44ADCCrwtW4al5Bs3Tjqa2mvTJjjkEHjoocK58aBINmiSqaS1yy5hLbGZM5OOpHa7+Wbo1k2J\nR6QyNNqtjii97nPSSUlHUjt9+CHcdRfMnp10JCKFQS2fOkKDDmrW1VeHm8NpOLtI5eiaT0xtveYD\n4XbChx8e7sqoyabZ9fLL4R49770HO+2UdDQiuadrPlKm1q3DfekXLkw6ktrlq6/gyivhjjuUeESq\nQsmnDlHXW/bdfTd06gSnn550JCKFRcmnDlHyya4NG+Cmm8ImIlWj5FOHKPlk1223Qa9ecOihSUci\nUng04CCmNg84APjmm3BzuY8+Cl+l+j77DA46CN56C/bdN+loRJKlAQdSrgYN4JhjYNq0pCMpfDfd\nFNZvU+IRqR5NMq1jSrve+vRJOpLCVVISltB5772kIxEpXGr51DG67pO5G26A//5v2HvvpCMRKVy6\n5hNT26/5AKxZA+3bw9q1oRtOqubf/4YePeCDD6BFi6SjEckPuuYjFWreHPbZB959N+lICtMNN4RJ\npUo8IpnRZ9866Nhjw/19OndOOpLCsmQJvPACLF6cdCQihU8tnzpI132q55Zb4KKLYPfdk45EpPDp\nmk9MXbjmAzB/Ppxxhj7BV8WqVXDwweF716pV0tGI5Bdd85FKOfDAMOBg5cqkIykct98O552nxCOS\nLRklHzNrZmYTzewDM5tgZk3L2G+gmS2M9hsQK+9iZnOj126vTL1mdqeZLTKzOWZ2VCXOMcXMFpjZ\nbDObZWYtM3nPtUG9emHE1ptvJh1JYVi3Du6/H371q6QjEak9Mm35DAVecfcDgcnA9ak7mFkz4HfA\nMUB3YFgsmdwLDHb3TkAnM+tVXr1m1gfYz90PAIYAoypxDoBz3b2zu3dx988yfM+1wnHHKflU1j33\nwA9/CB06JB2JSO2RafLpB4yOHo8GzkyzTy9goruvd/d1wESgt5ntBTRx9xnRfmNix6fW2y9WPgbA\n3acDTc2sVVnniMWg7sUUxx6rQQeVsWlTuFfP0KFJRyJSu2T6T3lPd18F4O4rgT3T7NMGWBZ7XhKV\ntQGWx8qXR2UArVLqLe1pT62r9JiyzlHqoajL7X8q/9Zqt27dYPZs+PrrpCPJbw8+GFqJhxySdCQi\ntUuF83zMbBI7/vkDGOBAun/kNTVUrKx6KzO64jx3/9jMGgP/NLPz3f2RsnYePnz49sdFRUUUFRVV\nJc6C0aRJuAna7NnQvXvS0eSnb76BW2+FJ55IOhKR/FJcXExxcXFGdVSYfNy9Z1mvmdkqM2vl7qui\nbrRP0uxWAhTFnrcFpkTl+6SUl0SPV5ZRb1nHlHUO3P3j6OtGM3sM6AZUKvnUdqXzfZR80nvuOWjb\nVt8fkVSpH8xHjBhR5Toy7XYbBwyKHg8EnkuzzwSgp5k1jQYG9AQmRN1p682sm5kZMCB2fLzeQSnl\nAwDMrAewLuqeS3sOM6tvZi2i/RsCZwBaizii6z7lu+02+MUvko5CpHbKaJKpmTUHniS0RpYCZ7v7\nOjPrCgxx94ui/QYBvyV0n/3e3cdE5V2Bh4GdgfHuflV59UavjSQMJtgIXODus8o6h5ntCrxGaOHV\nB14Bri5rJmldmWRa6sMP4cQTYflysCpND6v9ZsyAn/wkLCSqBVhFyledSaZa4SCmriUf93BbgLfe\ngnbtko4mv/z0p9ClC1xzTdKRiOQ/rXAgVWKmrrd0SkrgpZdg8OCkIxGpvZR86jhNNv2ue+6B88/X\nAqIiNUnJp47TCtfftmlTWErniiuSjkSkdlPyqeO6doV588I/XYFHHgldkQcckHQkIrWbkk8dt/PO\ncMQRYdBBXeceltL55S+TjkSk9lPyEU48EaZOTTqK5E2ZEgZh1NJFLUTyipKPKPlE7r4bLrtMc55E\nckHzfGLq2jyfUqtXQ8eOsGZN3Z1QuXx56H5cujSseycilad5PlItLVqESabvvJN0JMm5//5wp1Il\nHpHcUPIRAE44oe52vX39NTzwAFx6adKRiNQdSj4ChOs+r7+edBTJeOYZOPhg3bNHJJeUfATYMeig\nDl7y4u671eoRyTUlHwHCNZ+ddoJFi5KOJLfefTes7t2vX8X7ikj2KPnIdnWx6+2ee+Cii6Bhw6Qj\nEalblHxku7o232fDhnCL7AsvTDoSkbpHyUe2q2sj3h55BE49NdzTSERyS8lHtjvkEFi7Fj7+OOlI\nap47jBoFl1ySdCQidZOSj2xXrx4cf3zduO4zbRp89RWcfHLSkYjUTUo+8i0nnFA3ks+oUTBkiNZx\nE0mKko98S10YdLBmDTz3HAwcmHQkInWXko98S9eusHBhGAlWW40eDT/6UVjTTkSSoeQj39KoERx9\nNPzrX0lHUjNKBxpcfHHSkYjUbUo+8h2nnAKTJycdRc0oLg4J9rjjko5EpG5T8pHvOPVUePXVpKOo\nGaWtHg00EEmWbiYXU1dvJpdqyxZo2RIWLw5fa4tVq+Cgg2DJEmjaNOloRGoP3UxOsqJhwzDqbcqU\npCPJrocegh//WIlHJB8o+Uhata3rbevWcLdSDTQQyQ9KPpLWaafBK68kHUX2TJwYuhCPPjrpSEQE\nMkw+ZtbMzCaa2QdmNsHM0nZomNlAM1sY7TcgVt7FzOZGr91emXrN7E4zW2Rmc8ysc6z8JTNba2bj\nUs7dwcymRed43MwaZPKe64rDDoPPP4elS5OOJDs0vFokv2Ta8hkKvOLuBwKTgetTdzCzZsDvgGOA\n7sCwWDK5Fxjs7p2ATmbWq7x6zawPsJ+7HwAMiY4vdTNwfpoYbwJujc6xDhicwfutM8zCkOva0PW2\nbFlYMqh//6QjEZFSmSaffsDo6PFo4Mw0+/QCJrr7endfB0wEepvZXkATd58R7Tcmdnxqvf1i5WMA\n3H060NTMWkXPpwBfpDn/KcDTsbrOquqbrKtqS9fbX/8K550HjRsnHYmIlMo0+ezp7qsA3H0lsGea\nfdoAy2LPS6KyNsDyWPnyqAygVUq9rSqoKy0zawGsdfdtsXO0rvhtCYRBB5Mnh1UBCtWWLSH5DBmS\ndCQiElfh9Q8zm8SOf/4ABjjwP2l2r6l/Uzn79zd8+PDtj4uKiigqKsrVqfNOhw6htfD+++EaUCF6\n/nnYd9/CjV8kHxUXF1NcXJxRHRUmH3fvWdZrZrbKzFq5+6qoG+2TNLuVAEWx522BKVH5PinlJdHj\nlWXUW94x6WJfbWa7m1m9qPVT7v7w7eQjO7reCvWftwYaiGRf6gfzESNGVLmOTLvdxgGDoscDgefS\n7DMB6GlmTaPBBz2BCVF32noz62ZmBgyIHR+vd1BK+QAAM+sBrCvtnotYtMVNAX5SQYxShkKe7/Pv\nf8Ps2WFiqYjkl4yW1zGz5sCThNbIUuBsd19nZl2BIe5+UbTfIOC3hO6z37v7mKi8K/AwsDMw3t2v\nKq/e6LWRQG9gI3CBu8+Kyl8DDgS+B6wmjKKbZGYdgbFAM2A2cL67bynj/Wh5nRSffgr77w+ffRZW\nPigkv/51uF51yy1JRyJSu1VneR2t7Raj5JNe585w992FtRL0pk3Qrh289Va45iMiNUdru0mNOO20\nsEJAIXn8cTj2WCUekXyl5CMV+tGPYNy4ivfLF+4wciRcfnnSkYhIWZR8pELHHRdWCSiUpXbeeAM2\nboSeZY7TFJGkKflIhRo0gDPOKJzWz8iRcNllUE+/3SJ5S3+eUilnngnPPpt0FBVbsQImTIBBg5KO\nRETKo+QjldKzJ8ycCWvXJh1J+e6/PywgqhvGieQ3JR+plF13hZNPhhdfTDqSsn39Ndx3X+hyE5H8\npuQjldavHzyXx+tD/POfcPDBcOihSUciIhXRJNMYTTIt36efwgEHwMqVsPPOSUfzbe5hXs+118J/\n/VfS0YjULZpkKjVqjz3giCPCbRbyzeuvw+rVoXUmIvlPyUeqJF9Hvf35z3DNNVC/ftKRiEhlqNst\nRt1uFVu8GI4/Pgxpzpd5NPPnh8EQ//kP7LJL0tGI1D3qdpMat99+oftt+vSkI9nhllvCCDclHpHC\nUeHN5ERSlXa9HXts0pGEFtgzz8CiRUlHIiJVoW63GHW7Vc5770Hv3rBkSVh6J0lDh4bbJ9x5Z7Jx\niNRl6naTnDjsMNhnH3jppWTj2LAB/vpXuPrqZOMQkapT8pFqufBCeOCBZGN44IGw7E+HDsnGISJV\np263GHW7Vd7GjaH18+670KZN7s+/eXOY8DpuHHTpkvvzi8gO6naTnGncGM45B/72t2TOf8890K2b\nEo9IoVLLJ0Ytn6qZNSssZfPhh7md87N+fWj1FBfDIYfk7rwikp5aPpJTXbpAixYwaVJuz3vrrfDD\nHyrxiBQytXxi1PKpulGj4JVX4KmncnO+VatC0pk1C9q3z805RaR81Wn5KPnEKPlU3YYNIQksWACt\nWtX8+a66Cszg9ttr/lwiUjlKPhlS8qmen/8cDjoo3M6gJi1ZAl27hrXc9tyzZs8lIpWn5JMhJZ/q\nmT493Lp6wQLYaaeaO8+gQaGVNWJEzZ1DRKpOAw4kEd27h+swd99dc+eYPh1efjncNkFECp9aPjFq\n+VTfvHlw0kmh9dOiRXbr/vJL6Nw5tHjOPju7dYtI5tTtliEln8xcdllYaPSOO7Jb77XXhus9Tz6Z\n3XpFJDty3u1mZs3MbKKZfWBmE8ysaRn7DTSzhdF+A2LlXcxsbvTa7ZWp18zuNLNFZjbHzDrHyl8y\ns7VmNi7l3H8zsw/NbLaZzTKzIzJ5z1K24cPh0Udh4cLs1fnmm/D3v9dsl56I5F6m13yGAq+4+4HA\nZOD61B3MrBnwO+AYoDswLJZM7gUGu3snoJOZ9SqvXjPrA+zn7gcAQ6LjS90MnF9GnNe4e2d37+Lu\nc6v/dqU8e+wRWinZGvW2eTNccAGMHBnqFpHaI9Pk0w8YHT0eDZyZZp9ewER3X+/u64CJQG8z2wto\n4u4zov3KOg6NAAAJuklEQVTGxI5PrbdfrHwMgLtPB5qaWavo+RTgizLi1MCKHLnySnjnnbD0Tab+\n7/+Fo46CH/8487pEJL9k+k95T3dfBeDuK4F0sy/aAMtiz0uisjbA8lj58qgMoFVKvaXTF8uqqyK/\nj7rpbjWzhpXYX6pp553hT38K99j5+uvq1/PCC/DYY6HVIyK1T4XJx8wmRddlSrd3o6990+xeU1fr\nM6l3qLsfTOj2awFcl52QpCxnnw0dO4ZVr7dsqfrxzz8PgweHW3W3bJn9+EQkeRXeBNnde5b1mpmt\nMrNW7r4q6kb7JM1uJUBR7HlbYEpUvk9KeUn0eGUZ9ZZ3TFnxl7agtpjZ34ByZ4oMHz58++OioiKK\niorK3FfSM4PHHw/dZeedFx5X9nbbzz0HF10EL74IRx9ds3GKSPUUFxdTnGHfekZDrc3sJmCNu99k\nZtcBzdx9aMo+zYCZQBdCS2sm0NXd15nZNOBKYAbwInCnu7+cUu9QYHd3H2pmpwOXufsPzawHcLu7\n94idq4gwuOBHsbK93H2lmRnwF2Czu/+mjPejodZZ9NVXcOaZ0KxZGLFWv375+z/zDFx8MYwfH5bR\nEZHCkPN5PmbWHHiS0BpZCpwdJZWuwBB3vyjabxDwW0L32e/dfUxU3hV4GNgZGO/uV5VXb/TaSKA3\nsBG4wN1nReWvAQcC3wNWE0bRTTKzV4GWgAFzgIvdfVMZ70fJJ8s2b4a+fWHvveHee8NN6FKVlMBf\n/xpeHz9eN4gTKTSaZJohJZ+asWkTDBgAEyZAjx7Qpw/07g2LF8MDD8Drr4frRFdfDZ06JR2tiFSV\nkk+GlHxq1oYNMHkyvPRSSEStW8OFF4bEk65FJCKFQcknQ0o+IiJVp1WtRUSkICj5iIhIzin5iIhI\nzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5\niIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhIzin5iIhI\nzin5iIhIzin5iIhIzin5iIhIzin5iIhIzmWUfMysmZlNNLMPzGyCmTUtY7+BZrYw2m9ArLyLmc2N\nXru9MvWa2Z1mtsjM5pjZUVHZkWb2hpm9G5WfHdu/g5lNi87xuJk1yOQ9i4hI5jJt+QwFXnH3A4HJ\nwPWpO5hZM+B3wDFAd2BYLJncCwx2905AJzPrVV69ZtYH2M/dDwCGAKOi/TcBP3P3w4E+wO1mtlv0\n2k3ArdE51gGDM3zPiSsuLk46hEophDgLIUZQnNmmOJOXafLpB4yOHo8GzkyzTy9goruvd/d1wESg\nt5ntBTRx9xnRfmNix6fW2y9WPgbA3acDTc2slbsvcvfFUfnHwCfAHtExpwBPx+o6K4P3mxcK5Rey\nEOIshBhBcWab4kxepslnT3dfBeDuK4E90+zTBlgWe14SlbUBlsfKl0dlAK1S6m1VQV3bmVk3oKG7\nLzazFsBad98WO0frKr1DERHJugqvf5jZJHb88wcwwIH/SbO7ZymuatVrZnsTWkY/q6E4REQkG9y9\n2hswn9BKAdgLmJ9mn/7AqNjzUcA5qftH+91bXr2lx8aOWRDbrwnwNnBWyvk/AepFj3sAL5Xzflyb\nNm3atFV9q2r+yHTk1zhgEOGi/kDguTT7TABujAYZ1AN6AkPdfZ2ZrY+6yWYAA4A709Q7KFbvOOAy\n4Akz6wGsc/dVZtYQeBYY7e7PpJx/CvAT4IlyYgTA3a3S71xERKrNok/81TvYrDnwJLAPsBQ4O0oq\nXYEh7n5RtN8g4LeEDPl7dx8TlXcFHgZ2Bsa7+1Xl1Ru9NhLoDWwEBrn7bDP7KfAQ8D47ugUHuftc\nM+sIjAWaAbOB8919S7XftIiIZCyj5CMiIlIdWuEAMLPeZrYgmoh6XdLxlDKzB81slZnNjZVVamJv\nLplZWzObbGbvRxN9r8zHWM1sJzObbmazoziHReV5NxHZzOqZ2SwzG5evMQKY2RIzeyf6nr4VleXb\nz72pmf3DzOZHv6Pd8zDGTtH3cFb0db2ZXZlvcUax/tLM3osWCHjUzBpV5/ezzicfM6sHjCTMRzoU\nONfMDko2qu3+RogrrsKJvQn4Brja3Q8FjgUui76HeRWru38FnOzunYGjgD5m1p38nIh8FTAv9jwf\nYwTYBhS5e2d37xaV5dXPHbiD0K1/MHAkYaBSXsXo7guj72EXoCvhssIz5FmcZtYauALo4u5HEEZM\nn0t1fj8zGe1WGzZSRsARftjXJR1XLJ72wNzY8/gIv72ABUnHmCbmZ4HT8jlWYFdgJtCN746IfDnh\n2NoCk4AiYFxU9mk+xRiL9T9Ai5SyvPm5A7sBi9OU502MaWL7ATA1H+MkzJNcSriG3oAwCKxndf6G\n6nzLh+9OXI1Pds1HlZnYmxgz60BoVUzju5OFE4816s6aDawk/INfTBg1mU8TkW8Dfk0YOEOeT5Z2\nYIKZzTCz/47K8unn3hH4zMz+FnVp3W9mu+ZZjKnOAR6LHudVnO6+ArgV+IgwyX89MItq/A0p+RS+\nvBkxYmbfA54CrnL3L/hubInH6u7bPHS7tSW0evKlixUAM/shsMrd5xBGbm5/KaGQKnK8ux8NnE7o\nbj2R/Pq5NwC6AHd76NLaSOjdyKcYt4umjfQF/hEV5VWcZrY7YZmz9oQE05gw+rjKlHxC9m4Xe942\nKstXq8ysFUC0Pt4nCccDQHSB8Sng7+5eOpcqL2MFcPcNQDHhGtXu0bU/SP7nfzzQ18w+BB4nrE14\nB2Edw3yJcTsPayni7p8Sulu7kV8/9+XAMnefGT1/mpCM8inGuD7A2+7+WfQ83+I8DfjQ3de4+1bC\ndanjqcbfkJJPmOC6v5m1N7NGhJUWxiUcU5zx7U+9pRNwoYJJszn2EDDP3e+IleVVrGbWsnS0kJnt\nQuirnseOiciQcJzu/ht3b+fu+xJ+Fye7+/n5FGMpM9s1au1iZo0J1yreJY9+7lGX1TIz6xQVnUqY\nD5g3MaY4l/Cho1S+xfkR0MPMdjYzY8f3s+q/n0lfXMuHjdBs/ABYRFh9IfGYorgeA1YAX0U/9AsI\nF/peieKdCOyeB3EeD2wF5hAm8s6KvqfN8ylW4PAotjnAXOC3UXlHYDqwkLASRsOkv6dRXCexY8BB\n3sUYxVT6M3+39G8nD3/uRxI+ZM4B/gk0zbcYozh3JQwsaRIry8c4hxGWQJtLuFNAw+r8fmqSqYiI\n5Jy63UREJOeUfEREJOeUfEREJOeUfEREJOeUfEREJOeUfEREJOeUfEREJOeUfEREJOf+P9LIjf9g\nagZcAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f91ac15f510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# t = np.arange(80)/float(1000)\n",
    "t = tf.range(start=0,limit=80./1000.,delta=1/1000.,dtype=K.floatx())\n",
    "t = tf.expand_dims(input=t,axis=-1)\n",
    "a = tf.constant([100,100,100],shape=(3,1),dtype=K.floatx())\n",
    "beta = tf.constant([30,30,30],shape=(3,1),dtype=K.floatx())\n",
    "fc = tf.constant([10,20,30],shape=(3,1),dtype=K.floatx())\n",
    "n = tf.constant(4,shape=(1,1),dtype=K.floatx())\n",
    "res = tf.multiply(tf.multiply(\n",
    "    tf.matmul(a,tf.pow(x=t,y=n-1),transpose_b=True),\n",
    "    tf.exp(tf.multiply(-2*np.pi,tf.matmul(beta,t,transpose_b=True)))),\n",
    "    tf.cos(tf.multiply(2*np.pi,tf.matmul(fc,t,transpose_b=True))))\n",
    "with tf.Session() as sess:\n",
    "    plt.plot(sess.run(res)[1])\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor 'range_43:0' shape=(80,) dtype=float32>"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# conv_utils.normalize_tuple(80, 1, 'kernel_size') + (1,2)\n",
    "# for input_channel in range(1,(80,2,3)[1]):\n",
    "#     print(input_channel)\n",
    "t = tf.range(start=0,limit=80/float(1000),\n",
    "                          delta=1/float(1000),dtype=K.floatx())\n",
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Conv1D_gammatone(Layer):\n",
    "\n",
    "    def __init__(self, filters = 1, kernel_size = 80, rank=1, strides=1, padding='valid',\n",
    "                 data_format='channels_last',dilation_rate=1, activation=None, use_bias=True,\n",
    "                 fsHz = 1000.,\n",
    "                 fc_initializer = initializers.RandomUniform(minval=10,maxval=400),\n",
    "                 n_order_initializer = initializers.constant(4.),\n",
    "                 amp_initializer = initializers.constant(10**5),\n",
    "                 beta_initializer = initializers.RandomNormal(mean=30,stddev=6),\n",
    "                 bias_initializer='zeros',\n",
    "                 **kwargs):\n",
    "        super(Conv1D_gammatone, self).__init__(**kwargs)\n",
    "        self.rank = rank\n",
    "        self.filters = filters\n",
    "        self.kernel_size_=kernel_size\n",
    "        self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank, 'kernel_size')\n",
    "        self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')\n",
    "        self.padding = conv_utils.normalize_padding(padding)\n",
    "        self.data_format = conv_utils.normalize_data_format(data_format)\n",
    "        self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')\n",
    "        self.activation = activations.get(activation)\n",
    "        self.use_bias = use_bias\n",
    "        self.bias_initializer = initializers.get(bias_initializer)\n",
    "        self.fc_initializer = initializers.get(fc_initializer)\n",
    "        self.n_order_initializer = initializers.get(n_order_initializer)\n",
    "        self.amp_initializer = initializers.get(amp_initializer)\n",
    "        self.beta_initializer = initializers.get(beta_initializer)\n",
    "        self.input_spec = InputSpec(ndim=self.rank + 2)\n",
    "        \n",
    "        self.fsHz = fsHz\n",
    "        self.t = tf.range(start=0,limit=kernel_size/float(fsHz),\n",
    "                          delta=1/float(fsHz),dtype=K.floatx())\n",
    "        self.t = tf.expand_dims(input=self.t,axis=-1)\n",
    "\n",
    "    \n",
    "    def build(self, input_shape):\n",
    "        if self.data_format == 'channels_first':\n",
    "            channel_axis = 1\n",
    "        else:\n",
    "            channel_axis = -1\n",
    "        if input_shape[channel_axis] is None:\n",
    "            raise ValueError('The channel dimension of the inputs '\n",
    "                             'should be defined. Found `None`.')\n",
    "        input_dim = input_shape[channel_axis]\n",
    "        self.kernel_shape = self.kernel_size + (input_dim, self.filters)\n",
    "\n",
    "        ## Add learnable parameters\n",
    "        self.fc = self.add_weight(shape=(self.filters,1),\n",
    "                                      initializer=self.fc_initializer,\n",
    "                                      name='fc')\n",
    "        self.n_order = self.add_weight(shape=(1,1),\n",
    "                                      initializer=self.n_order_initializer,\n",
    "                                      name='n')\n",
    "        self.amp = self.add_weight(shape=(self.filters,1),\n",
    "                                      initializer=self.amp_initializer,\n",
    "                                      name='a')\n",
    "        self.beta = self.add_weight(shape=(self.filters,1),\n",
    "                                      initializer=self.beta_initializer,\n",
    "                                      name='beta')\n",
    "        if self.use_bias:\n",
    "            self.bias = self.add_weight(shape=(self.filters,),\n",
    "                                        initializer=self.bias_initializer,\n",
    "                                        name='bias',\n",
    "                                        regularizer=self.bias_regularizer,\n",
    "                                        constraint=self.bias_constraint)\n",
    "        else:\n",
    "            self.bias = None\n",
    "        \n",
    "        # Set input spec.\n",
    "        self.input_spec = InputSpec(ndim=self.rank + 2,\n",
    "                                    axes={channel_axis: input_dim})\n",
    "        self.built = True\n",
    "    \n",
    "\n",
    "    def call(self, inputs):\n",
    "        \n",
    "        # Get gammatone impulse response\n",
    "        \n",
    "        gammatone = self.impulse_gammatone()\n",
    "        gammatone = tf.expand_dims(gammatone,axis=-2) ## Considering single input channel\n",
    "        \n",
    "        if self.kernel_shape[1] > 1:\n",
    "            raise ValueError('Number of channels for input to gammatone layer'\n",
    "                             'should be 1.')\n",
    "        \n",
    "        outputs = K.conv1d(\n",
    "            inputs,\n",
    "            gammatone,\n",
    "            strides=self.strides[0],\n",
    "            padding='same',\n",
    "            data_format=self.data_format,\n",
    "            dilation_rate=self.dilation_rate[0])\n",
    "    \n",
    "        if self.use_bias:\n",
    "            outputs = K.bias_add(\n",
    "                outputs,\n",
    "                self.bias,\n",
    "                data_format=self.data_format)\n",
    "\n",
    "        if self.activation is not None:\n",
    "            return self.activation(outputs)\n",
    "        return outputs\n",
    "\n",
    "    def compute_output_shape(self, input_shape):\n",
    "        if self.data_format == 'channels_last':\n",
    "            space = input_shape[1:-1]\n",
    "            new_space = []\n",
    "            for i in range(len(space)):\n",
    "                new_dim = conv_utils.conv_output_length(\n",
    "                    space[i],\n",
    "                    self.kernel_size[i],\n",
    "                    padding=self.padding,\n",
    "                    stride=self.strides[i],\n",
    "                    dilation=self.dilation_rate[i])\n",
    "                new_space.append(new_dim)\n",
    "            return (input_shape[0],) + tuple(new_space) + (self.filters,)\n",
    "        if self.data_format == 'channels_first':\n",
    "            space = input_shape[2:]\n",
    "            new_space = []\n",
    "            for i in range(len(space)):\n",
    "                new_dim = conv_utils.conv_output_length(\n",
    "                    space[i],\n",
    "                    self.kernel_size[i],\n",
    "                    padding=self.padding,\n",
    "                    stride=self.strides[i],\n",
    "                    dilation=self.dilation_rate[i])\n",
    "                new_space.append(new_dim)\n",
    "            return (input_shape[0], self.filters) + tuple(new_space)\n",
    "    \n",
    "    def impulse_gammatone(self):\n",
    "        \n",
    "        gammatone = tf.multiply(tf.multiply(\n",
    "                        tf.matmul(self.amp,tf.pow(x=self.t,y=self.n_order-1),\n",
    "                                  transpose_b=True),\n",
    "                        tf.exp(tf.multiply(-2*np.pi,tf.matmul(self.beta,self.t,\n",
    "                                                              transpose_b=True)))),\n",
    "                        tf.cos(tf.multiply(2*np.pi,tf.matmul(self.fc,self.t,\n",
    "                                                             transpose_b=True))))\n",
    "        gammatone = tf.transpose(gammatone)\n",
    "        return gammatone\n",
    "    \n",
    "\n",
    "    def get_config(self):\n",
    "        config = {\n",
    "            'rank': self.rank,\n",
    "            'filters': self.filters,\n",
    "            'kernel_size': self.kernel_size_,\n",
    "            'strides': self.strides,\n",
    "            'padding': self.padding,\n",
    "            'data_format': self.data_format,\n",
    "            'dilation_rate': self.dilation_rate,\n",
    "            'activation': activations.serialize(self.activation),\n",
    "            'use_bias': self.use_bias,\n",
    "            'fsHz': self.fsHz,\n",
    "            'fc_initializer': initializers.serialize(self.fc_initializer),\n",
    "            'n_order_initializer': initializers.serialize(self.n_order_initializer),\n",
    "            'amp_initializer': initializers.serialize(self.amp_initializer),\n",
    "            'beta_initializer': initializers.serialize(self.beta_initializer),\n",
    "            'bias_initializer': initializers.serialize(self.bias_initializer),\n",
    "        }\n",
    "        base_config = super(Conv1D_gammatone, self).get_config()\n",
    "        return dict(list(base_config.items()) + list(config.items()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {},
   "outputs": [],
   "source": [
    "def FIRnet_gammatone(input_size):\n",
    "    input1=Input(shape=(input_size,1))\n",
    "    x = Conv1D_gammatone(kernel_size=81,filters=3,fsHz=1000,use_bias=False)(input1)\n",
    "#     x = Conv1D_gammatone(kernel_size=80,filters=3,fsHz=1000,use_bias=False)(x)\n",
    "    model =Model(input1,x)\n",
    "    model.compile(optimizer='rmsprop',\n",
    "                  loss='binary_crossentropy',\n",
    "                  metrics=['accuracy'])    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 260,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 2500, 3)\n"
     ]
    }
   ],
   "source": [
    "model = FIRnet_gammatone(2500)\n",
    "t = np.reshape(data[:2500]/float(np.max(data[:2500])),[1,2500,1])\n",
    "new_data_ = model.predict(t)\n",
    "print new_data_.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nTcv7/0y4EQUHAzciIkrjWqVEgcfAjYioxomEm11mbeXStsrtDBHlxcCNiKjGOQ2VnnH8HHxk3eLK\n7AwR5cXAjYioxomwzW5IVFEUdM1uqNwOEZEtBm5ERLUuE7nlq2RLOWTliKgyGLgREdU4pz5uQLYO\njoj8xcCNiKjGiRq3fBk3saZpNMLbBpGfnFcXJiKiGW31iV343Z8GcNYp8223OeXYDmw5awlOP35O\nBfeMiMwYuBER1bgzT+jCCcfMRlND1HYbVVGwad2SCu4VEVlhzpuIiPIGbUQUHAzciIiIiKoEAzci\nIiKiKsHAjYiIiKhKFBW4DQ8P45prrkFPTw+uvfZajIyMWG63c+dO9PT0oKenBz/84Q/113/84x9j\n06ZNuOSSS3DddddhaGiomN0hIiIimtGKCtzuu+8+rF27Fk888QRWr16NHTt25GwzPDyMe+65B488\n8ggefvhh3H333RgZGUEymcTXv/51fP/738fjjz+OFStW4Pvf/34xu0NEREQ0oxUVuO3atQtbtmwB\nAGzZsgVPPvlkzja7d+/GunXr0NTUhObmZqxbtw5PP/203vBxbGwMmqZhdHQUXV1dxewOERER0YxW\nVB+3wcFBdHR0AAA6OzsxODiYs01fXx/mzZunf97V1YW+vj6Ew2F85StfwaZNm9DQ0IDFixfjq1/9\najG7Q0RERDSjOQZuV199NQYGBnJe3759e85ripJvwRSjRCKBH/zgB3j88cfR3d2Nr33ta7j33ntx\nww03uP4eRERERLXEMXC7//77bf+vvb0dAwMD6OjoQH9/P9ra2nK26erqwrPPPqt/3tvbizVr1uCV\nV14BAHR3dwMALrroInz72992veOdnU2ut6Vg4XtX3fj+VTe+f9WL7x0BRda4bdiwAY899hiA9MzR\njRs35myzfv167NmzByMjIxgeHsaePXuwfv16dHV14fXXX8eRI0cAAL/61a+wdOnSYnaHiIiIaEZT\nNDFLoABDQ0PYvn073nvvPSxYsAB33XUXmpub8eKLL+Khhx7C1772NQDAY489hnvvvReKouCGG27A\n5s2bAQAPPfQQ/umf/gmRSATz58/HHXfcgZaWltL8ZkREREQzTFGBGxERERFVDldOICIiIqoSDNyI\niIiIqgQDNyIiIqIqUVWB21NPPYULL7wQPT09uO+++/zeHbKxYcMGfOQjH8HmzZtx6aWXAsi/ru3f\n/u3f4oILLsAll1yit4mhyrjtttvwgQ98AJs2bdJfK+S9sluPmMrL6v27++67cfbZZ2PLli3YsmUL\nnnrqKf3/duzYgQsuuAAXXXQRdu/erb/Oa2vl9fb24sorr8SHPvQhbNq0Cd/97ncB8PyrFub373vf\n+x6ACp1/WpVIJpPa+eefrx04cECbnp7WPvKRj2j79u3ze7fIwoYNG7ShoSHDa9/85je1++67T9M0\nTduxY4f293//95qmadovfvEL7brrrtM0TdNeeOEF7bLLLqvszta4//zP/9Refvll7cMf/rD+mtf3\namhoSNu4caN29OhRbXh4WP+Yys/q/fvHf/xH7Tvf+U7Otvv27dMuueQSLR6Pa++88452/vnna6lU\nitdWnxw6dEh7+eWXNU3TtNHRUe2CCy7Q9u3bx/OvSti9f5U4/6om47Z3714cc8wxWLBgASKRCD70\noQ9h165dfu8WWdA0DalUyvCaeV1b8d7t2rVLbw9zyimnYGRkxHKlDiqP008/Hc3NzYbXvL5XdusR\nU/lZvX8A9LWgZbt27cLFF1+McDiM7u5uHHPMMdi7dy+vrT7p7OzECSecAACYNWsWli1bhr6+Pp5/\nVcLq/Tt06BCA8p9/VRO4Wa15Kv5IFCyKouDaa6/Ftm3b8PDDDwMADh8+bFjX9vDhwwCAQ4cOYe7c\nufrXirVsyT/mNYjt3qu5c+eir6/Pdj1i8s+DDz6ISy65BF/60pf0oTa794nXVv8dOHAAr776Kk45\n5RTX10qef8Eh3r9Vq1YBKP/5VzWBG1WPH/zgB3jsscfw7W9/Gw8++CB++9vf5qxj62VdW/KX3Xtl\n9VRJ/vv4xz+OJ598Eo8//jg6Ojpwxx13+L1LlMfY2Bg++9nP4rbbbsOsWbNcXyt5/gWD+f2rxPlX\nNYFbV1cX3n33Xf3zvr4+zJkzx8c9IjvifWlra8P555+PvXv36uvaAjCsaztnzhz09vbqX9vb24uu\nrq7K7zTpvL5X5nOT76G/2tra9Jv95Zdfjr179wJIX0Pfe+89fTu794/X1spJJBL47Gc/i0suuQTn\nn38+AJ5/1cTq/avE+Vc1gdvJJ5+M/fv34+DBg5iensZPfvITy7VRyV8TExMYGxsDAIyPj2P37t1Y\nsWKF7bq2Gzdu1GdBvfDCC2hubtaHCagyzE/uXt8ru/WIqTLM719/f7/+8c9+9jOsWLECQPp9/elP\nf4rp6Wm888472L9/P1atWsVrq49uu+02LF++HFdddZX+Gs+/6mH1/lXi/AuX59cpvVAohNtvvx3X\nXHMNNE3DpZdeimXLlvm9W2QyMDCAm266CYqiIJlMYtOmTVi/fj1WrlyJ7du349FHH9XXtQWAc845\nB7/85S/xwQ9+EPX19fjGN77h829QW2699VY8++yzGBoawrnnnovPfOYzuP7663HzzTe7fq9aWlpw\n4403Ytu2bVAUBTfddJNlwTyVntX79+yzz+KVV16BqqpYsGAB/uZv/gYAsHz5clx00UX40Ic+hHA4\njK985StQFIXXVp8899xz+NGPfoQVK1Zg8+bNUBQFt9xyC6677jpP10qef/6we/9+/OMfl/3841ql\nRERERFWiaoZKiYiIiGodAzciIiKiKsHAjYiIiKhKMHAjIiIiqhIM3IiIiIiqBAM3IiIioirBwI2I\niIioSjBwIyIiIqoS/z+iHXykzk4N7QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3e9edbaa10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.plot(new_data[0,:,0],label='After conv')\n",
    "plt.figure(figsize=(10,10))\n",
    "plt.plot(10*data[:2500]/float(np.var(data[:2500])),label='Original signal')\n",
    "plt.plot(new_data_[0,:,0],label='After gammatone 1')\n",
    "plt.plot(new_data_[0,:,1],label='After gammatone 2')\n",
    "plt.plot(new_data_[0,:,2],label='After gammatone 3')\n",
    "# plt.plot(filtered,label='After FIR1 (zero phase)')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 264,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor 'Mul_3:0' shape=(3, 81) dtype=float32>"
      ]
     },
     "execution_count": 264,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.layers[1].get_weights()\n",
    "model.layers[1].impulse_gammatone()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "30\n"
     ]
    }
   ],
   "source": [
    "kernel_size=60\n",
    "if kernel_size%2:\n",
    "    kernel_size = conv_utils.normalize_tuple(kernel_size/2+1,1,'kernel_size') \n",
    "else:\n",
    "    kernel_size = conv_utils.normalize_tuple(kernel_size/2,1,'kernel_size')\n",
    "print kernel_size[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear Convolutional filter. Learns only half the filter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Conv1D_zerophase_linear(Layer):\n",
    "    \n",
    "    def __init__(self,filters,kernel_size,rank=1,strides=1,padding='valid',data_format='channels_last',dilation_rate=1,activation=None,use_bias=True,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=None,bias_constraint=None,**kwargs):\n",
    "        super(Conv1D_zerophase_linear, self).__init__(**kwargs)\n",
    "        self.rank = rank\n",
    "        self.filters = filters\n",
    "        if kernel_size%2:\n",
    "            self.kernel_size = conv_utils.normalize_tuple(kernel_size/2+1,rank,'kernel_size') \n",
    "        else:\n",
    "            self.kernel_size = conv_utils.normalize_tuple(kernel_size/2,rank,'kernel_size')\n",
    "        print self.kernel_size[0]\n",
    "        self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')\n",
    "        self.padding = conv_utils.normalize_padding(padding)\n",
    "        self.data_format = conv_utils.normalize_data_format(data_format)\n",
    "        self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')\n",
    "        self.activation = activations.get(activation)\n",
    "        self.use_bias = use_bias\n",
    "        self.kernel_initializer = initializers.get(kernel_initializer)\n",
    "        self.bias_initializer = initializers.get(bias_initializer)\n",
    "        self.kernel_regularizer = regularizers.get(kernel_regularizer)\n",
    "        self.bias_regularizer = regularizers.get(bias_regularizer)\n",
    "        self.activity_regularizer = regularizers.get(activity_regularizer)\n",
    "        self.kernel_constraint = constraints.get(kernel_constraint)\n",
    "        self.bias_constraint = constraints.get(bias_constraint)\n",
    "        self.input_spec = InputSpec(ndim=self.rank + 2)\n",
    "        \n",
    "    def build(self, input_shape):\n",
    "        if self.data_format == 'channels_first':\n",
    "            channel_axis = 1\n",
    "        else:\n",
    "            channel_axis = -1\n",
    "        if input_shape[channel_axis] is None:\n",
    "            raise ValueError('The channel dimension of the inputs '\n",
    "                             'should be defined. Found `None`.')\n",
    "        input_dim = input_shape[channel_axis]\n",
    "        kernel_shape = self.kernel_size + (input_dim, self.filters)\n",
    "\n",
    "        self.kernel = self.add_weight(shape=kernel_shape,\n",
    "                                      initializer=self.kernel_initializer,\n",
    "                                      name='kernel',\n",
    "                                      regularizer=self.kernel_regularizer,\n",
    "                                      constraint=self.kernel_constraint)\n",
    "        if self.use_bias:\n",
    "            self.bias = self.add_weight(shape=(self.filters,),\n",
    "                                        initializer=self.bias_initializer,\n",
    "                                        name='bias',\n",
    "                                        regularizer=self.bias_regularizer,\n",
    "                                        constraint=self.bias_constraint)\n",
    "        else:\n",
    "            self.bias = None\n",
    "        # Set input spec.\n",
    "        self.input_spec = InputSpec(ndim=self.rank + 2,\n",
    "                                    axes={channel_axis: input_dim})\n",
    "        self.built = True\n",
    "\n",
    "\n",
    "    def call(self, inputs):\n",
    "        \n",
    "        if self.kernel_size[0]%2==0:\n",
    "            flipped = tf.reverse(self.kernel,axis=[0])\n",
    "        else:\n",
    "            flipped = tf.reverse(self.kernel[1:,:,:],axis=[0])\n",
    "#         print (flipped)\n",
    "        conv_kernel = tf.concat([flipped,self.kernel],axis=0)\n",
    "#         print (conv_kernel)\n",
    "        \n",
    "        \n",
    "        outputs = K.conv1d(\n",
    "                inputs,\n",
    "                conv_kernel,\n",
    "                strides=self.strides[0],\n",
    "                padding='same',\n",
    "                data_format=self.data_format,\n",
    "                dilation_rate=self.dilation_rate[0])\n",
    "#         print tf.shape(outputs)\n",
    "        outputs = tf.reverse(outputs,axis=[1])\n",
    "        outputs = K.conv1d(\n",
    "                outputs,\n",
    "                conv_kernel,\n",
    "                strides=self.strides[0],\n",
    "                padding=self.padding,\n",
    "                data_format=self.data_format,\n",
    "                dilation_rate=self.dilation_rate[0])\n",
    "#         print tf.shape(outputs)\n",
    "        outputs = tf.reverse(outputs,axis=[1])\n",
    "        if self.use_bias:\n",
    "            outputs = K.bias_add(\n",
    "                outputs,\n",
    "                self.bias,\n",
    "                data_format=self.data_format)\n",
    "\n",
    "        if self.activation is not None:\n",
    "            return self.activation(outputs)\n",
    "        \n",
    "        return outputs\n",
    "    \n",
    "    def compute_output_shape(self, input_shape):\n",
    "        if self.data_format == 'channels_last':\n",
    "            space = input_shape[1:-1]\n",
    "            new_space = []\n",
    "            for i in range(len(space)):\n",
    "                new_dim = conv_utils.conv_output_length(\n",
    "                    space[i],\n",
    "                    self.kernel_size[i],\n",
    "                    padding=self.padding,\n",
    "                    stride=self.strides[i],\n",
    "                    dilation=self.dilation_rate[i])\n",
    "                new_space.append(new_dim)\n",
    "            return (input_shape[0],) + tuple(new_space) + (self.filters,)\n",
    "        if self.data_format == 'channels_first':\n",
    "            space = input_shape[2:]\n",
    "            new_space = []\n",
    "            for i in range(len(space)):\n",
    "                new_dim = conv_utils.conv_output_length(\n",
    "                    space[i],\n",
    "                    self.kernel_size[i],\n",
    "                    padding=self.padding,\n",
    "                    stride=self.strides[i],\n",
    "                    dilation=self.dilation_rate[i])\n",
    "                new_space.append(new_dim)\n",
    "            return (input_shape[0], self.filters) + tuple(new_space)\n",
    "\n",
    "        \n",
    "    def get_config(self):\n",
    "        config = {\n",
    "            'rank': self.rank,\n",
    "            'filters': self.filters,\n",
    "            'kernel_size': self.kernel_size,\n",
    "            'strides': self.strides,\n",
    "            'padding': self.padding,\n",
    "            'data_format': self.data_format,\n",
    "            'dilation_rate': self.dilation_rate,\n",
    "            'activation': activations.serialize(self.activation),\n",
    "            'use_bias': self.use_bias,\n",
    "            'kernel_initializer': initializers.serialize(self.kernel_initializer),\n",
    "            'bias_initializer': initializers.serialize(self.bias_initializer),\n",
    "            'kernel_regularizer': regularizers.serialize(self.kernel_regularizer),\n",
    "            'bias_regularizer': regularizers.serialize(self.bias_regularizer),\n",
    "            'activity_regularizer': regularizers.serialize(self.activity_regularizer),\n",
    "            'kernel_constraint': constraints.serialize(self.kernel_constraint),\n",
    "            'bias_constraint': constraints.serialize(self.bias_constraint)\n",
    "        }\n",
    "        base_config = super(Conv1D_zerophase_linear, self).get_config()\n",
    "        return dict(list(base_config.items()) + list(config.items()))\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "def FIRnet_linearphase(input_size):\n",
    "    input1=Input(shape=(input_size,1))\n",
    "    x = Conv1D_zerophase_linear(1,61,use_bias=False,weights=[b1[30:]])(input1)\n",
    "    model =Model(input1,x)\n",
    "    model.compile(optimizer='rmsprop',\n",
    "                  loss='binary_crossentropy',\n",
    "                  metrics=['accuracy'])    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "31\n",
      "[[[ -8.50337887]\n",
      "  [ -3.51722765]\n",
      "  [  2.27529454]\n",
      "  ..., \n",
      "  [ -5.42623615]\n",
      "  [ -8.63265038]\n",
      "  [-12.50613785]]]\n"
     ]
    }
   ],
   "source": [
    "model = FIRnet_linearphase(2500)\n",
    "t = np.reshape(data[:2500],[1,2500,1])\n",
    "new_data_ = model.predict(t)\n",
    "print new_data_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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TvjjbR0GdW/H4xcN9pomPz+fn3/+mR9++IGLLrqImTNnAsbFIj8/n+HDhzN58mQWLlzIjz/+yFNPPcV///tfAG677TZyc3Np3bo1//73vxkwYADTpk0jNDSUNWvWMGrUKJ577jnHe9lsNu6//36+/vprLBYLN954I3fccQffffcdf/nLXygvL2fEiBHMnj2bkJAQYmJimDp1Kl988QVlZWV8/PHH9OvXj9NOO43MzEzatzdmpOzbty8///wzMTExAFgsNd8bPPbYYyxcuBCA3Nxcxo0bx9tvv817773HSy+9RGlpKSkpKbz22mtYrVbatGnDTTfdxJIlS3j11VcpKSnxmOfLL7+cr776irCwMObNm0efPkZvl59++onnnnuOAwcO8Mwzz3DppZeSn5/PxIkTOXbsGGVlZTz11FNMnDiRgoICLr/8cnJycrDZbDz66KNcccUVZGRkcO+995Kfn09UVBTvvPMO3bp1q/I37tOnDzt37iQvL4/IyEh++OEHxowZw5gxY5gzZw6//PIL6enpXHXVVW4/148//phbb72V48ePM2fOHEaPHt0ofzvnUHD22WcTHx/Pjz/+SHl5OW+99RbJycmsXLmSu+66i+LiYsLCwnj77bfp378/RUVFXHvttWRlZTFgwACKiopq/A6I5qXG/3qt9Xla6yFufj7HuKP/RBtWAnYgCtgLON+GRJvbPG0PSJ9//jkTJkygX79+REZGkpGRARjVB2FhYWRmZvL4449z8cUXM2vWLDIzMzn99NOZPn06L7/8MhkZGTz77LPceuutjmPm5OTw66+/VgkCYJQwsrOzyczMZO3atfzxj3+kuLiYadOmMX/+fNatW0d5eTmzZ892vCYqKorVq1dzyy238Oyzz2KxWJg4cSKffvopAGlpafTu3ZsuXbrU6byffPJJMjMzWbp0KR07duT2229n06ZNzJ8/n19++YXMzEysVivvv/8+AAUFBaSkpJCVlUVSUpLXPEdERLBu3Tpuv/127r77bsf2/fv38/PPP/Pll1867shDQ0P59NNPWb16NT/88AN//vOf0Vrz9ddf0717d7Kysli/fj0TJkygrKyMO+64gwULFpCRkcF1113Hww8/XOW8rFYr/fv3Z+PGjfz8888kJiaybNkySkpK2LNnD3379nWkPeOMM1w+VzBKcitXruSFF15w3Bg01t/O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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5620380510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.pad(new_data_[0,:,0],(30,30),'constant',constant_values=(30, 30)),label='After conv1_zerophase with zero pad')\n",
    "plt.plot(filtered,label='After FIR1 (zero phase)')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
